Skip to content

fix: preserve canonical executable on cache hits - #519

Draft
Karthik Nadig (karthiknadig) wants to merge 2 commits into
mainfrom
bug/issue-518
Draft

fix: preserve canonical executable on cache hits#519
Karthik Nadig (karthiknadig) wants to merge 2 commits into
mainfrom
bug/issue-518

Conversation

@karthiknadig

@karthiknadig Karthik Nadig (karthiknadig) commented Aug 12, 2026

Copy link
Copy Markdown
Member

Summary

  • preserve the canonical executable path on cache hits
  • keep caller-facing aliases valid in the current working context
  • invalidate stale in-memory entries when tracked executables disappear
  • add regressions covering relative/absolute aliases and stale alias validation

Fixes #448
Related: microsoft/vscode-python-environments#1703

Validation

  • cargo test -p pet-python-utils --lib
  • cargo test --workspace
  • cargo fmt --all
  • cargo clippy --all -- -D warnings

Preserve authoritative Windows path casing when well-known and configured Conda aliases refer to the same installation. Add a regression covering lowercase environment aliases.\n\nFixes #518\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@github-actions

github-actions Bot commented Aug 12, 2026

Copy link
Copy Markdown

Performance Report (Linux)

Result: ✅ Within regression budgets

Metric PR Baseline Delta Change Blocking budget Status
Server startup P50 1ms 1ms +0ms +0.0% >5ms and >100%
Server startup P95 1ms 1ms +0ms +0.0% >50ms and >200%
Full refresh P50 70ms 56ms +14ms +25.0% >25ms and >30% 🔺
Full refresh P95 73ms 60ms +13ms +21.7% >50ms and >50% 🔺
Time to first environment P50 14ms 14ms +0ms +0.0% >20ms and >100%
Time to first environment P95 17ms 21ms -4ms -19.0% >25ms and >100%
Cold refresh P50 172ms 150ms +22ms +14.7% >100ms and >50% 🔺
Workload PR Baseline
Environments 5 5
Managers 1 1

A regression must exceed both the documented absolute and relative budget. Environment and manager inventories must match exactly.

@github-actions

github-actions Bot commented Aug 12, 2026

Copy link
Copy Markdown

Test Coverage Report (Linux)

Result: ✅ Within regression budget

Metric PR Baseline Delta
Lines 80.815% 80.809% +0.005pp
Functions 84.806% 84.806% +0.000pp

Allowed numerical tolerance: 0.01 percentage points.

@github-actions

github-actions Bot commented Aug 12, 2026

Copy link
Copy Markdown

Performance Report (macOS)

Result: ✅ Within regression budgets

Metric PR Baseline Delta Change Blocking budget Status
Server startup P50 98ms 105ms -7ms -6.7% >100ms and >50%
Server startup P95 762ms 746ms +16ms +2.1% >750ms and >100% 🔺
Full refresh P50 164ms 194ms -30ms -15.5% >100ms and >50%
Full refresh P95 196ms 211ms -15ms -7.1% >300ms and >100%
Time to first environment P50 113ms 126ms -13ms -10.3% >150ms and >50%
Time to first environment P95 150ms 171ms -21ms -12.3% >250ms and >100%
Cold refresh P50 434ms 383ms +51ms +13.3% >250ms and >50% 🔺
Workload PR Baseline
Environments 10 10
Managers 1 1

A regression must exceed both the documented absolute and relative budget. Environment and manager inventories must match exactly.

@github-actions

github-actions Bot commented Aug 12, 2026

Copy link
Copy Markdown

Performance Report (Windows)

Result: ❌ Regression detected

Metric PR Baseline Delta Change Blocking budget Status
Server startup P50 8ms 8ms +0ms +0.0% >10ms and >50%
Server startup P95 11ms 12ms -1ms -8.3% >50ms and >100%
Full refresh P50 133ms 151ms -18ms -11.9% >150ms and >50%
Full refresh P95 141ms 159ms -18ms -11.3% >250ms and >100%
Time to first environment P50 18ms 20ms -2ms -10.0% >25ms and >50%
Time to first environment P95 29ms 29ms +0ms +0.0% >100ms and >100%
Cold refresh P50 134ms 153ms -19ms -12.4% >150ms and >50%
Workload PR Baseline
Environments 8 10
Managers 1 2

Blocking findings

  • Environment inventory changed: current=8, baseline=10
  • Manager inventory changed: current=1, baseline=2

A regression must exceed both the documented absolute and relative budget. Environment and manager inventories must match exactly.

@github-actions

github-actions Bot commented Aug 12, 2026

Copy link
Copy Markdown

Test Coverage Report (Windows)

Result: ✅ Within regression budget

Metric PR Baseline Delta
Lines 78.229% 78.207% +0.022pp
Functions 81.573% 81.533% +0.041pp

Allowed numerical tolerance: 0.01 percentage points.

Keep the casing assertion independent of CI temp-path short-name behavior.\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@karthiknadig Karthik Nadig (karthiknadig) changed the title fix: deduplicate Windows Conda paths by disk casing fix: preserve canonical executable on cache hits Aug 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

incorrectly saved pythonLocator setting on remote settings

1 participant